#ifndef _NUM_H_
#define _NUM_H_
#include "python3/PythonGrammar30TreeConstants.h"
#include "ast/exprType.h"
#include "Object.h"
#include "ast/numTypeType.h"
class IVisitor;
class Num;
typedef QSharedPointer<Num> NumPtr;

class Num: public exprType
{
public:
    explicit Num(const ObjectPtr& n, int type, const QString& num, int nodeId=JJTNUM);
    virtual ~Num();
    
    
    ObjectPtr n();
    void setN(const ObjectPtr& n);
    
    int type_();
    void setType_(int type);
    
    QString num();
    void setNum(const QString& num);
    
    
    virtual QString type() const;
    virtual QString toString() const;
    virtual void accept(IVisitor* visitor, const SimpleNodePtr& node);
    virtual void traverse(IVisitor* visitor);
private:
    ObjectPtr _n;
    int _type;
    QString _num;
};




#endif